Related Vulnerabilities: CVE-2020-25685  

When getting a reply from a forwarded query, dnsmasq before version 2.83 checks in forward.c:reply_query() which one is the forwarded query that matches the reply by only using a weak hash of the query name. Due to the weak hash (CRC32 when dnsmasq is compiled without DNSSEC, SHA-1 when it is) an off-path attacker can find several different domains all having the same hash, substantially reducing the number of attempts he would have to perform to forge a reply and get it accepted by dnsmasq. This is in contrast with RFC5452, which specifies that query name is one of the attributes of a query that must be used to match a reply. This flaw could be abused to perform a DNS Cache Poisoning attack. If chained with CVE-2020-25684 the attack complexity of a successful attack is reduced.

Severity Medium

Remote Yes

Type Insufficient validation

Description

When getting a reply from a forwarded query, dnsmasq before version 2.83 checks in forward.c:reply_query() which one is the forwarded query that matches the reply by only using a weak hash of the query name. Due to the weak hash (CRC32 when dnsmasq is compiled without DNSSEC, SHA-1 when it is) an off-path attacker can find several different domains all having the same hash, substantially reducing the number of attempts he would have to perform to forge a reply and get it accepted by dnsmasq. This is in contrast with RFC5452, which specifies that query name is one of the attributes of a query that must be used to match a reply. This flaw could be abused to perform a DNS Cache Poisoning attack. If chained with CVE-2020-25684 the attack complexity of a successful attack is reduced.

AVG-1470 dnsmasq 2.82-2 2.83-1 High Fixed

https://www.openwall.com/lists/oss-security/2021/01/19/1
https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2021q1/014599.html
https://www.jsof-tech.com/disclosures/dnspooq/
https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=2d765867c597db18be9d876c9c17e2c0fe1953cd
https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=2024f9729713fd657d65e64c2e4e471baa0a3e5b